Transport block size determination for equal size code blocks

ABSTRACT

According to some embodiments, a method for use in a wireless receiver comprises determining a transport block size, TBS, for a transport block to be communicated between the wireless transmitter and a wireless receiver via a physical channel transmission. The TBS determination uses a formula accounting for cyclic redundancy check, CRC, bits. The method further comprises transmitting the transport block according to the determined TBS. In particular embodiments the formula is based on an approximate transport block size, a number of code blocks, at least one of a number of CRC bits attached to the transport block, and a number of CRC bits added to each of the C code blocks.

PRIORITY

This nonprovisional application is a U.S. National Stage Filing under 35U.S.C. § 371 of International Patent Application Serial No.PCT/IB2018/056060 filed Aug. 10, 2018, and entitled “Transport BlockSize Determination for Equal Size Code Blocks” which claims priority toU.S. Provisional Patent Application No. 62/544,727 filed Aug. 11, 2017,both of which are hereby incorporated by reference in their entirety.

TECHNICAL FIELD

Particular embodiments are directed to wireless communications and, moreparticularly, to determining a transport block size for equal size codeblocks.

BACKGROUND

The terms UE (User Equipment), terminal, handset, etc. may be usedinterchangeably to denote a device that communicates with the networkinfrastructure. The term should not be construed as to mean any specifictype of device, it applies to them all, and the embodiments describedherein are applicable to all devices that may use the embodiments tosolve the problems as described.

Similarly, a base-station is intended to denote a node in the networkinfrastructure that communicates with the UE. Different names may beapplicable, and the functionality of the base-station may also bedistributed in various ways. For example, a radio head may terminateparts of the radio protocols and a centralized unit may terminate otherparts of the radio protocols. This disclosure does not distinguish suchimplementations herein. The term base-station refers to all alternativearchitectures that can implement the embodiments described herein.

Third Generation Partnership Project (3GPP) describes a new radio (NR)interface for fifth generation (5G) networks. Terms for denoting thisnew and next generation technology have not yet converged, so the termsNR and 5G may be used interchangeably. Moreover, a base-station can bereferred to as gNB instead of eNB. Alternatively, the termTransmission-Receive-Point (TRP) can also be used.

An NR radio slot consists of several orthogonal frequency divisionmultiplexed (OFDM) symbols. The slot includes either 7 or 14 symbolswith OFDM subcarrier spacing ≤60 kHz and 14 symbols for OFDM subcarrierspacing >60 kHz. FIG. 1 illustrates a subframe with 14 OFDM symbols. InFIG. 1, T_(s) and T_(symb) denote the slot and OFDM symbol duration,respectively. In addition, a slot may be shortened to accommodatedownlink/uplink transient periods or both downlink and uplinktransmissions. Potential variations are illustrated in FIG. 2.

Furthermore, NR also defines mini-slots. Mini-slots are shorter thanslots (according to current agreements, mini-slots include from 1 or 2symbols up to the number of symbols in a slot minus one) and can startat any symbol. Mini-slots are used if the transmission duration of aslot is too long or the occurrence of the next slot start (slotalignment) is too late. Applications of mini-slots include, amongothers, latency critical transmissions (in this case both mini-slotlength and frequent opportunity of mini-slot are important) andunlicensed spectrum where a transmission should start immediately afterlisten-before-talk succeeded (here the frequent opportunity of mini-slotis especially important). An example of mini-slots is illustrated inFIG. 3.

PDCCHs (physical downlink control channels) are used in NR for downlinkcontrol information (DCI), e.g. downlink scheduling assignments anduplink scheduling grants. The PDCCHs are in general transmitted at thebeginning of a slot and relate to data in the same or a later slot (formini-slots PDCCH can also be transmitted within a regular slot).Different formats (sizes) of the PDCCHs are possible to handle differentDCI payload sizes and different aggregation levels (i.e., different coderate for a given payload size). A UE is configured (implicitly and/orexplicitly) to monitor (or search) for a number of PDCCH candidates ofdifferent aggregation levels and DCI payload sizes. Upon detecting avalid DCI message (i.e., the decoding of a candidate is successful andthe DCI contains an ID the UE is told to monitor) the UE follows the DCI(e.g., receives the corresponding downlink data or transmits in theuplink).

NR may include a broadcasted control channel to be received by multipleUEs. The channel has may be referred to as group common PDCCH. Oneexample of information that might be put in such a channel isinformation about the slot format (i.e., whether a certain slot isuplink or downlink, which portion of a slot is uplink or downlink,information that can be useful in a dynamic time division duplex (TDD)system, etc.).

The downlink control information (DCI) carries several parameters toinstruct the UE how to receive the downlink transmission or to transmitin the uplink. For example, the frequency division duplex (FDD) longterm evolution (LTE) DCI format 1A carries parameter such aslocalized/distributed virtual resource block (VRB) assignment flag,resource block assignment, modulation and coding scheme (MCS), hybridautomatic repeat request (HARQ) process number, new data indicator(NDI), redundancy version and transmission power control (TPC) commandfor physical uplink control channel (PUCCH).

One of the key parameter for the UE to receive or transmit in the systemis the size of the data block (called transport block size) to bechannel coded and modulated. In LTE, this is determined as follows. TheUE uses an MCS given by the DCI to read a transport block size (TBS)index I_(TBS) from a MCS table. An example of the MCS table is shown inTable 1 below. The UE determines the number of physical resource blocks(PRBs) as N_(PRB) from the resource block assignment in the DCI. The UEuses the TBS index I_(TBS) and the number of PRBs N_(PRB) to read theactual transport block size from a TBS table. A portion of the TBS tableis shown in Table 2 below as an example.

TABLE 1 LTE modulation and coding scheme (MCS) table MCS Modulation TBSIndex Order Index I_(MCS) Q_(Ri) I_(TBS) 0 2 0 1 2 1 2 2 2 3 2 3 4 2 4 52 5 6 2 6 7 2 7 8 2 8 9 2 9 10 4 9 11 4 10 12 4 11 13 4 12 14 4 13 15 414 16 4 15 17 6 15 18 6 16 19 6 17 20 6 18 21 6 19 22 6 20 23 6 21 24 622 25 6 23 26 6 24 27 6 25 28 6 26 29 2 reserved 30 4 31 6

TABLE 2 LTE transport block size (TBS) table (dimension is 27 × 110)N_(PRB) I_(TBS) 1 2 3 4 5 6 7 8 9 . . . 0 16 32 56 88 120 152 176 208224 . . . 1 24 56 88 144 176 208 224 256 328 . . . 2 32 72 144 176 208256 296 328 376 . . . 3 40 104 176 208 256 328 392 440 504 4 56 120 208256 328 408 488 552 632 . . . 5 72 144 224 328 424 504 600 680 776 . . .6 328 176 256 392 504 600 712 808 936 . . . 7 104 224 328 472 584 712840 968 1096 . . . 8 120 256 392 536 680 808 968 1096 1256 . . . 9 136296 456 616 776 936 1096 1256 1416 . . . 10 144 328 504 680 872 10321224 1384 1544 . . . 11 176 176 584 776 1000 1192 1384 1608 1800 . . 12208 440 680 904 1128 1352 1608 1800 2024 . . 13 224 488 744 1000 12561544 1800 2024 2280 . . 14 256 552 840 1128 1416 1736 1992 2280 2600 . .. 15 280 600 904 1224 1544 1800 2152 2472 2728 . . . 16 328 632 968 12881608 1928 2280 2600 2984 . . . 17 336 696 1064 1416 1800 2152 2536 28563240 . . . 18 376 776 1160 1544 1992 2344 2792 2112 3624 . . . 19 408840 1288 1736 2152 2600 2984 3496 3880 . . . 20 440 904 1384 1864 23442792 3240 3752 4136 . . . 21 488 1000 1480 1992 2472 2984 3496 4008 4584. . . 22 520 1064 1608 2152 2664 3240 3752 4264 4776 . . . 23 552 11281736 2280 2856 3496 4008 4584 5160 . . . 24 584 1192 1800 2408 2984 36244264 4968 5544 . . . 25 616 1256 1864 2536 3112 3752 4392 5160 5736 . .. 26 712 1480 2216 2984 3752 4392 5160 5992 6712 . . .

The LTE approach has a few problems described in the following. A firstproblem is that the LTE TBS table was originally designed with specificassumptions on the number of resource elements (REs) available withineach allocated PRB as well as the number of OFDM symbols for datatransmissions. When different transmission modes with different amountsof reference symbol overheads were introduced later in LTE, it becamedifficult to define another TBS table to optimize for the newtransmission modes. The 3GPP participants compromised to introduce a fewnew rows in the LTE TBS table to optimize for a few limited cases. Theexplicit TBS table approach, however, hinders continual evolution andimprovement of the LTE system.

Another problem is that the existing approach of determining the datablock size does not provide high performance operation with differentslot sizes or structures. This is a known problem in LTE systems becausea subframe in LTE may be of various sizes. A regular subframe may havedifferent sizes of control region and thus leaves different sizes forthe data region. TDD LTE supports different sizes in the downlink part(DwPTS) of a TDD special subframe. Various different sizes of subframeare summarized in Table 3 below.

The LTE MCS and TBS tables are designed, however, based on theassumption that 11 OFDM symbols are available for the data transmission.When the actual number of available OFDM symbols for physical downlinkshared channel (PDSCH) is different than 11, the spectral efficiency ofthe transmission will deviate from those shown in Table 4 below.

First, the code rate becomes excessively high when the actual number ofOFDM symbols for PDSCH is substantially less than the assumed 11symbols. These cases are highlighted with bold type in Table 4. In LTE,the UE is not expected to decode any PDSCH transmission with effectivecode rate higher than 0.930. Because the mobile station will not be ableto decode such high code rates, transmissions based on these bold typeMCSs will fail and retransmissions will be needed.

Second, with the mismatch of radio resource assumption, code rates forsome of the MCSs deviate out of the optimal range for the widebandwireless system. Based on extensive link performance evaluation for thedownlink transmission as an example, the code rates for QPSK and 16QAMshould not be higher than 0.70. Furthermore, the code rates for 16QAMand 64QAM should not be lower than 0.32 and 0.40, respectively. Asillustrated with underlined type, some of the MCSs in Table 4 result insub-optimal code rate.

Because data throughput is reduced when transmissions are based onunsuitable or sub-optimal code rates, a good scheduling implementationin the base station should avoid using any bold or underlined MCSs shownin Table 4. Thus, the number of usable MCSs shrink significantly whenthe actual number of OFDM symbols for PDSCH deviates from the assumed 11symbols.

TABLE 3 Available number of OFDM symbols for PDSCH (NOS) in LTE Numberof OFDM symbols for control information Operation mode 1 2 3 4 FDD, TDDNormal CP 13 12 11 10 Extended CP 11 10 9 8 TDD DwPTS configurations 1,6 8 7 6 5 normal CP configurations 2, 7 9 8 7 6 configurations 3, 8 10 98 7 configurations 4 11 10 9 8 TDD DwTS configurations 1, 5 7 6 5 4extended CP configurations 2, 6 8 7 6 5 configurations 3 9 8 7 6

TABLE 4 Code rate with different number of OFDM symbols for datatransmission in LTE MCS Available number of OFDM symbols for PDSCH(N_(cs)) index (I_(MCS)) Modulation 13 12 11 10 9 8 7 6 5 0 QPSK 0.100.11 0.12 0.13 0.14 0.16 0.18 0.21 0.25 1 QPSK 0.13 0.14 0.16 0.17 0.190.21 0.24 0.28 0.34 2 QPSK 0.16 0.17 0.19 0.21 0.23 0 26 0.30 0.35 0.423 QPSK 0.21 0.22 0.25 0.27 0.30 0.34 0.39 0.45 0.54 4 QPSK 0.25 0.280.30 0.33 0.37 0.41 0.47 0.55 0.66 5 QPSK 0.31 0.34 0.37 0.41 0.45 0.510.58 0.68 0.81 6 QPSK 0.37 0.40 0.44 0.48 0.54 0.61 0.69 0.81 0.97 7QPSK 0.44 0.47 0.52 0.57 0.63 0.71 0.81 0.94 1.13 8 QPSK 0.50 0.54 0.590.65 0.72 0.81 0.93 1.08 1.30 9 QPSK 0.56 0.61 0.67 0.73 0.81 0.91 1.051.22 1.46 10 16QAM 0.28 0.30 0.33 0.37 0.41 0.46 0.52 0.61 0.73 11 16QAM0.31 0.34 0.37 0.41 0.45 0.51 0.58 0.68 0.81 12 16QAM 0.36 0.39 0.430.47 0.52 0.58 0.67 0.78 0.94 13 16QAM 0.40 0.44 0.48 0.53 0.58 0.660.75 0.88 1.05 14 16QAM 0.46 0.50 0.54 0.59 0.66 0.74 0.85 0.99 1.19 1516QAM 0.51 0.55 0.60 0.66 0.74 0.83 0.95 1.10 1.33 16 16QAM 0.54 0.590.64 0.71 0.79 0 88 1.01 1.18 1.41 17 64QAM 0.36 0.39 0.43 0.47 0.520.59 0.67 0.79 0.94 18 64QAM 0.39 0.42 0.46 0.50 0.56 0.63 0.72 0.831.00 19 64QAM 0.43 0.46 0.51 0.56 0.62 0.69 0.79 0.93 1.11 20 64QAM 0.470.51 0.55 0.61 0.68 0.76 0.87 1.01 1.22 21 64QAM 0.51 0.55 0.60 0.660.74 0.83 0.95 1.10 1.32 22 64QAM 0.55 0.60 0.65 0.72 0.79 0.89 1.021.19 1.43 23 64QAM 0.59 0.64 0.70 0.77 0.86 0.96 1.10 1.29 1.54 24 64QAM0.64 0.69 0.75 0.83 0.92 1.04 1.18 1.38 1.66 25 64QAM 0.68 0.74 0.800.88 0.98 1.10 1.26 1.47 1.77 26 64QAM 0.72 0.78 0.85 0.94 1.04 1.171.34 1.56 1.88 27 64QAM 0.75 0.81 0.89 0.98 1.09 1.22 1.40 1.63 1.95 2864QAM 0.88 0.95 1.04 1.15 1.27 1.43 1.64 1.91 2.29

As mentioned above, the slot structure for NR tends to be more flexiblethan LTE with much larger range of the amount of allocated resources forUE to receive or transmit. The benefit of designing a TBS tablediminishes significantly.

To solve these problems, suggestions have been made to determine the TBSthrough a formula instead of a table. One example determines the TBS asfollows:

${TBS} = {A \times \left\lceil \frac{{N_{PRB} \cdot N_{RE}^{{DL},{PRB}}}{\upsilon \cdot Q_{m} \cdot R}}{A} \right\rceil}$where

-   -   ν is number of layers the codeword is mapped onto    -   N_(RE) ^(DL,PRB) is the number of REs per PRB per slot/mini-slot        available for carrying the PDSCH.    -   N_(PRB) is the number of allocated PRBs    -   modulation order, Q_(m), and target code rate, R, are read from        a MCS table based on I_(MCS) signalled in the DCI.    -   an example value of A is 8, to ensure that TBS is a multiple of        8.

Here N_(PRB), N_(RE) ^(DL,PRB), ν, Q_(m), R are signaled through DCI orare configured through higher layers.

A problem with existing solutions is that the LTE transport block size(TBS) table is designed so that when code block segmentation isperformed, all code blocks have the same size after segmentation. Thisproperty is desirable since it makes implementation easier. When aformula such as the one described above is applied, however, thisproperty is not necessarily fulfilled.

SUMMARY

The embodiments described herein modify the formula for transport blocksize (TBS) determination to ensure that all code blocks have the samesize. According to some embodiments, a wireless transmitter (e.g.,network node, user equipment (UE), etc.) comprises processing circuitryoperable to determine a TBS for a transport block to be communicatedbetween the wireless transmitter and a wireless receiver via a physicalchannel transmission. The TBS determination uses a formula accountingfor CRC bits. The processing circuitry is further operable to transmitthe transport block according to the determined TBS.

In particular embodiments, the processing circuitry is furtherconfigured to segment the transport block of size TBS into C equallysized code blocks. The processing circuitry is operable to transmit thetransport block according to the determined TBS by transmitting the Cequally sized code blocks to a wireless receiver.

According to some embodiments, a method for use in a wirelesstransmitter comprises determining a TBS for a transport block to becommunicated between the wireless transmitter and a wireless receivervia a physical channel transmission. The TBS determination uses aformula accounting for CRC bits. The method further comprisestransmitting the transport block according to the determined TBS.

In particular embodiments, the method further comprises segmenting thetransport block of size TBS into C equally sized code blocks.Transmitting the transport block comprises transmitting the C equallysized code blocks to a wireless receiver.

In particular embodiments, the CRC bits include at least one oftransport block CRC bits and code segmentation CRC bits. The formula maybe based on an approximate transport block size, TBS₀, a number of codeblocks, C, at least one of a number of CRC bits attached to thetransport block, L₂, and a number of CRC bits added to each of the Ccode blocks, L₃.

In particular embodiments, the formula is based on a comparison of TBS₀plus a number of CRC bits attached to the transport block with athreshold size, Z. When TBS₀ plus a number of CRC bits attached to thetransport block is greater than the threshold size, Z, the formulaincludes dividing TBS₀+L₂ by C, rounding up to the nearest integer, andmultiplying the result by C. Alternatively, when TBS₀ plus a number ofCRC bits attached to the transport block is greater than the thresholdsize, Z, the formula includes dividing TBS₀+L₂ by C*A|, rounding up tothe nearest integer, and multiplying the result by C*A, where A is aconstant.

When TBS₀ plus a number of CRC bits attached to the transport block isless than the threshold size, Z, the formula includes calculatingA*ceil(TBS0/A) for a constant A, wherein, optionally, A=8.

In particular embodiments, the formula includes determining C based ondividing TBS₀ plus L₂ by Z minus L₃, and rounding up to the nearestinteger. The formula may include determining the TBS by subtracting L₂.A may be one of 1 and 8. L₂ may be one of 0, 8, 16, and 24. L₃ may beone of 0, 8, 16, and 24. Z may be one of 3840 and 8448. In particularembodiments, the formula includes determining TBS₀ based on availabletransmission resources by determining the approximate transport blocksize based on a function of one or more of a number of physical resourceblocks, a number of resource elements per physical resource block, anumber of layers, a modulation order, and a code rate. In someembodiments, the formula includes determining TBS₀ based on availabletransmission resources by determining the approximate transport blocksize based on a number of symbols available for transmission and alookup table.

In particular embodiments, the wireless transmitter is a network node(e.g., base station) or a wireless device (e.g., UE).

According to some embodiments, a wireless receiver comprises processingcircuitry operable to receive a wireless signal via a physical channeltransmission from a wireless transmitter. The wireless signalcorresponds to a transport block. The processing circuitry is operableto determine a TBS using a formula accounting for CRC bits and decodethe wireless signal to obtain the transport block.

In particular embodiments, the processing circuitry is further operableto segment the transport block of size TBS into C equally sized codeblocks. The processing circuitry is operable to decode the wirelesssignal by decoding the C equally sized code blocks and combining thedecoded code blocks into the transport block.

According to some embodiments, a method for use in a wireless receivercomprises receiving a wireless signal via a physical channeltransmission from a wireless transmitter. The wireless signalcorresponds to a transport block. The method further comprisesdetermining a TBS using a formula accounting for CRC bits and decodingthe wireless signal to obtain the transport block.

In particular embodiments, the method further comprises segmenting thetransport block of size TBS into C equally sized code blocks. Decodingthe wireless signal comprises decoding the C equally sized code blocksand combining the decoded code blocks into the transport block.

In particular embodiments, the CRC bits include at least one oftransport block CRC bits and code segmentation CRC bits. The formula maybe based on an approximate transport block size, TBS₀, a number of codeblocks, C, at least one of a number of CRC bits attached to thetransport block, L₂, and a number of CRC bits added to each of the Ccode blocks, L₃.

In particular embodiments, the formula is based on a comparison of TBS₀plus a number of CRC bits attached to the transport block with athreshold size, Z. When TBS₀ plus a number of CRC bits attached to thetransport block is greater than the threshold size, Z, the formulaincludes dividing TBS₀+L₂ by C, rounding up to the nearest integer, andmultiplying the result by C. Alternatively, when TBS₀ plus a number ofCRC bits attached to the transport block is greater than the thresholdsize, Z, the formula includes dividing TBS₀+L₂ by C*A|, rounding up tothe nearest integer, and multiplying the result by C*A, where A is aconstant.

When TBS₀ plus a number of CRC bits attached to the transport block isless than the threshold size, Z, the formula includes calculatingA*ceil(TBS0/A) for a constant A, wherein, optionally, A=8.

In particular embodiments, the formula includes determining C based ondividing TBS₀ plus L₂ by Z minus L₃, and rounding up to the nearestinteger. The formula may include determining the TBS by subtracting L₂.A may be one of 1 and 8. L₂ may be one of 0, 8, 16, and 24. L₃ may beone of 0, 8, 16, and 24. Z may be one of 3840 and 8448.

In particular embodiments, the formula includes determining TBS₀ basedon available transmission resources by determining the approximatetransport block size based on a function of one or more of a number ofphysical resource blocks, a number of resource elements per physicalresource block, a number of layers, a modulation order, and a code rate.In some embodiments, the formula includes determining TBS₀ based onavailable transmission resources by determining the approximatetransport block size based on a number of symbols available fortransmission and a lookup table.

In particular embodiments, the wireless receiver is a network node(e.g., base station) or a wireless device (e.g., UE).

According to some embodiments, a wireless transmitter comprises adetermining module and a transmitting module. The determining module isoperable to determine a TBS for a transport block to be communicatedbetween the wireless transmitter and a wireless receiver via a physicalchannel transmission. The TBS determination uses a formula accountingfor CRC bits. The transmitting module is operable to transmit thetransport block according to the determined TBS.

According to some embodiments, a wireless receiver comprises a receivingmodule and a determining module. The receiving module is operable toreceive a wireless signal via a physical channel transmission from awireless transmitter. The wireless signal corresponds to a transportblock. The determining module is operable to determine a TBS using aformula accounting for CRC bits and decode the wireless signal to obtainthe transport block.

Also disclosed is a computer program product. The computer programproduct comprises instructions stored on non-transient computer-readablemedia which, when executed by a processor, perform the step ofdetermining a TBS for a transport block to be communicated between thewireless transmitter and a wireless receiver via a physical channeltransmission. The TBS determination uses a formula accounting for CRCbits. The instructions further perform the step of transmitting thetransport block according to the determined TBS.

Another computer program product comprises instructions stored onnon-transient computer-readable media which, when executed by aprocessor, perform the step of receiving a wireless signal via aphysical channel transmission from a wireless transmitter. The wirelesssignal corresponds to a transport block. The instructions furtherperform the step of determining a TBS using a formula accounting for CRCbits and decoding the wireless signal to obtain the transport block.

Particular embodiments may include some, all, or none of the followingadvantages. Particular embodiments ensure that all code blocks have thesame size, which makes implementation of the encoder and decodersimpler. By adjusting the TBS instead of padding zeros before code blocksegmentation, more efficient use of resources is achieved, e.g. in fullbuffer scenarios. Some embodiments may include additional or otheradvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the embodiments and their featuresand advantages, reference is now made to the following description,taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates an example LTE slot;

FIG. 2 illustrates examples of slot variations in LTE;

FIG. 3 illustrates a mini-slot with 2 OFDM symbols;

FIG. 4 is a block diagram illustrating an example wireless network,according to a particular embodiment;

FIG. 5 is a flow diagram illustrating an example method in a wirelesstransmitter;

FIG. 6 is a flow diagram illustrating an example method in a wirelessreceiver;

FIG. 7A is a block diagram illustrating an example embodiment of awireless device;

FIG. 7B is a block diagram illustrating example components of a wirelessdevice;

FIG. 8A is a block diagram illustrating an example embodiment of anetwork node; and

FIG. 8B is a block diagram illustrating example components of a networknode.

DETAILED DESCRIPTION

Third Generation Partnership Project (3GPP) long term evolution (LTE)uses code block segmentation for transport blocks that are larger thanthe largest possible code block size. For example, if after adding anyCRC bits to a transport block, the transport block is larger than thelargest possible code block size, the transport block needs to besegmented into several code blocks. The procedure in LTE is described in3GPP TS 36.212 V13.2.0 (2016 June) Section 5.1.2. NR may include asimilar procedure.

As noted above, a problem with existing solutions is that the LTEtransport block size (TBS) table is designed so that when code blocksegmentation is performed, all code blocks have the same size aftersegmentation. This property is desirable since it makes implementationeasier. When a formula such as the one described above is applied,however, this property is not necessarily fulfilled.

One way of achieving equal size code blocks is to zero pad the transportblock before code block segmentation. This has some drawbacks. If thepadded zeros are marked as <NULL> and removed before transmission, thisleads to different code blocks having different code rates, which isinefficient. If the padded zeros are not removed before transmission, itleads to transmission of useless bits, which is inefficient.

Particular embodiments obviate the problems described above and modifythe formula for TBS determination to ensure that all code blocks havethe same size. Particular embodiments ensure that all code blocks havethe same size, which makes implementation of the encoder and decodersimpler. By adjusting the TBS instead of padding zeros before code blocksegmentation, more efficient use of resources is achieved (e.g., in fullbuffer scenarios).

The following description sets forth numerous specific details. It isunderstood, however, that embodiments may be practiced without thespecific details. In other instances, well-known circuits, structuresand techniques have not been shown in detail in order not to obscure theunderstanding of this description. Those of ordinary skill in the art,with the included descriptions, will be able to implement appropriatefunctionality without undue experimentation.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to implement such feature, structure, orcharacteristic in connection with other embodiments, whether or notexplicitly described.

Particular embodiments are described with reference to FIGS. 4-8B of thedrawings, like numerals being used for like and corresponding parts ofthe various drawings. LTE and new radio (NR) are used throughout thisdisclosure as an example cellular system, but the ideas presented hereinmay apply to other wireless communication systems as well.

FIG. 4 is a block diagram illustrating an example wireless network,according to a particular embodiment. Wireless network 100 includes oneor more wireless devices 110 (such as mobile phones, smart phones,laptop computers, tablet computers, MTC devices, or any other devicesthat can provide wireless communication) and a plurality of networknodes 120 (such as base stations or eNodeBs). Wireless device 110 mayalso be referred to as a UE. Network node 120 serves coverage area 115(also referred to as cell 115).

In general, wireless devices 110 that are within coverage of networknode 120 (e.g., within cell 115 served by network node 120) communicatewith network node 120 by transmitting and receiving wireless signals130. For example, wireless devices 110 and network node 120 maycommunicate wireless signals 130 containing voice traffic, data traffic,and/or control signals. A network node 120 communicating voice traffic,data traffic, and/or control signals to wireless device 110 may bereferred to as a serving network node 120 for the wireless device 110.Communication between wireless device 110 and network node 120 may bereferred to as cellular communication. Wireless signals 130 may includeboth downlink transmissions (from network node 120 to wireless devices110) and uplink transmissions (from wireless devices 110 to network node120).

Each network node 120 may have a single transmitter or multipletransmitters for transmitting signals 130 to wireless devices 110. Insome embodiments, network node 120 may comprise a multi-inputmulti-output (MIMO) system. Wireless signal 130 may comprise one or morebeams. Particular beams may be beamformed in a particular direction.Each wireless device 110 may have a single receiver or multiplereceivers for receiving signals 130 from network nodes 120 or otherwireless devices 110. Wireless device 110 may receive one or more beamscomprising wireless signal 130.

Wireless signals 130 may be transmitted on time-frequency resources. Thetime-frequency resources may be partitioned into radio frames,subframes, slots, and/or mini-slots, such as those described withrespect to FIGS. 1-3. Network node 120 may dynamically schedulesubframes/slots/mini-slots as uplink, downlink, or a combination uplinkand downlink. Different wireless signals 130 may comprise differenttransmission processing times.

Network node 120 may operate in a licensed frequency spectrum, such asan LTE spectrum. Network node 120 may also operate in an unlicensedfrequency spectrum, such as a 5 GHz Wi-Fi spectrum. In an unlicensedfrequency spectrum, network node 120 may coexist with other devices suchas IEEE 802.11 access points and terminals. To share the unlicensedspectrum, network node 120 may perform listen-before-talk (LBT)protocols before transmitting or receiving wireless signals 130.Wireless device 110 may also operate in one or both of licensed orunlicensed spectrum and in some embodiments may also perform LBTprotocols before transmitting wireless signals 130. Both network node120 and wireless device 110 may also operate in licensed sharedspectrum.

For example, network node 120 a may operate in a licensed spectrum andnetwork node 120 b may operate in an unlicensed spectrum. Wirelessdevice 110 may operate in both licensed and unlicensed spectrum. Inparticular embodiments, network nodes 120 a and 120 b may beconfigurable to operate in a licensed spectrum, an unlicensed spectrum,a licensed shared spectrum, or any combination. Although the coveragearea of cell 115 b is illustrated as included in the coverage area ofcell 115 a, in particular embodiments the coverage areas of cells 115 aand 115 b may overlap partially, or may not overlap at all.

In particular embodiments, wireless device 110 and network nodes 120 mayperform carrier aggregation. For example, network node 120 a may servewireless device 110 as a PCell and network node 120 b may serve wirelessdevice 110 as a SCell. Network nodes 120 may perform self-scheduling orcross-scheduling. If network node 120 a is operating in licensedspectrum and network node 120 b is operating in unlicensed spectrum,network node 120 a may provide license assisted access (LAA) to theunlicensed spectrum (i.e., network node 120 a is a LAA PCell and networknode 120 b is a LAA SCell).

In particular embodiments, wireless signals 130 may be transmitted usingtransport blocks. Transport blocks may be divided in one or more codeblocks. Network node 120 and wireless device 110 may segment transportblocks into equal sized code blocks according to any of the examples andembodiments described in more detail below.

For example, network node 120 or wireless device 110 may determine a TBSfor a transport block to be communicated between the wirelesstransmitter and a wireless receiver via a physical channel transmission.The TBS determination uses a formula accounting for CRC bits. Networknode 110 or wireless device 110 may transmit the transport blockaccording to the determined TBS. In particular embodiments the formulais based on an approximate transport block size, a number of codeblocks, at least one of a number of CRC bits attached to the transportblock, and a number of CRC bits added to each of the C code blocks.Wireless device 110 and network node 120 may determine a TBS and anumber of equal size code blocks using a similar formula when receivinga transport block. Additional examples are described below.

In wireless network 100, each network node 120 may use any suitableradio access technology, such as long term evolution (LTE),LTE-Advanced, UMTS, HSPA, GSM, cdma2000, NR, WiMax, WiFi, and/or othersuitable radio access technology. Wireless network 100 may include anysuitable combination of one or more radio access technologies. Forpurposes of example, various embodiments may be described within thecontext of certain radio access technologies. However, the scope of thedisclosure is not limited to the examples and other embodiments coulduse different radio access technologies.

As described above, embodiments of a wireless network may include one ormore wireless devices and one or more different types of radio networknodes capable of communicating with the wireless devices. The networkmay also include any additional elements suitable to supportcommunication between wireless devices or between a wireless device andanother communication device (such as a landline telephone). A wirelessdevice may include any suitable combination of hardware and/or software.For example, in particular embodiments, a wireless device, such aswireless device 110, may include the components described with respectto FIG. 7A below. Similarly, a network node may include any suitablecombination of hardware and/or software. For example, in particularembodiments, a network node, such as network node 120, may include thecomponents described with respect to FIG. 8A below.

Particular embodiments obviate the problems described above and modifythe formula for TBS determination to ensure that all code blocks havethe same size. Particular embodiments ensure that all code blocks havethe same size, which simplifies implementation of the encoder anddecoder. By adjusting the TBS instead of padding zeros before code blocksegmentation, more efficient use of resources is achieved.

Consider the formula above:

${TBS} = {8 \times \left\lceil \frac{{N_{PRB} \cdot N_{RE}^{{DL},{PRB}}}{\upsilon \cdot Q_{m} \cdot R}}{8} \right\rceil}$The formula can also be described as

${TBS} = {8 \times \left\lceil \frac{{TBS}_{0}}{8} \right\rceil}$where TBS₀ is determined according to scheduling resources, MCS, andMIMO configuration:TBS₀ =N _(PRB) ·N _(RE) ^(DL,PRB) ·ν·Q _(m) ·R

In general, TBS₀ can be any formula for a desired approximate TBS.Another non-limiting example of how to determine TBS₀ is to find it in alook up table such as the LTE TBS table.

TBS₀ can be adjusted slightly to facilitate the code block segmentationprocedure. The adjustment is done so that each of the code blocksegments have the same code block size (CBS), thus guaranteeing that thesame shift size is used for the LDPC code. The adjustment also ensuresthat zero padding is not necessary in code block segmentation, similarto that of LTE turbo codes.

Assume that the number of code blocks C is determined in the followingmanner, which is similar to LTE:

Total number of code blocks C, and the CBS, are in general determinedby:

if ^(TBS + L) ¹ ^(≤) ^(Z)  Number of code blocks: C = 1  CBS = TBS; else Number of code blocks: C = [(TBS + L₂)/(Z − L₃)]  CBS = [(TBS + L₂)/C]end if

If C=1:

In the above, variable L₁ is the number of CRC bits that are attached tothe TBS when TBS is above a threshold TBS_(thrsh), TBS_(thrsh)≤Z,Z=8448. L₁ CRC bits are attached to each transport block, without codeblock level CRC bits. Typical value of L₁ is L₁=24. In the above,variable Z is the maximum information block size that is accepted at theinput of an LDPC encoder. When L₁ CRC bits are attached to thelength-TBS information payload before sending it to the input of LDPCencoder, then the block of (TBS+L₁) bits is composed of (a) TBSinformation payload bits, and (b) L₁ CRC bits.

When TBS+L₁≤Z only TB-level CRC is attached, and no code block level CRCis attached. The L₁ CRC bits are generated to protect the TBSinformation payload bits.

If C>1

L₂ CRC bits are attached to each transport block and L₃ additional CRCbits are attached to each CB after segmentation.

Some example values of L₁, L₂, and L₃ are 0, 8, 16, or 24. Some or allof L₁, L₂, and L₃ might be equal. One example is L₁=L₂=24 (bits), L₃=16(bits).

In one non-limiting embodiment, the TBS is determined as follows:

  If C = 1  ${TBS} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil}$ Else  ${TBS} = {{C \times A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil} - L_{2}}$End if.

An example value of A is 8, to ensure that TBS is a multiple of 8 (i.e.,byte-aligned). Another example is A=1 if TBS is not required to bebyte-aligned.

Combining the TBS determination above with the CBS determinationprocedure results in the following procedure with TBS₀ as input.

${{{if}\mspace{14mu} A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil} + L_{1}} \leq Z$ Number of code blocks: C = 1  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil\mspace{11mu}({bits})}$ Length of information block to LDPC encoder = (TBS + L₁) (bits) else Number of code blocks: C = ┌(TBS₀ + L₂)/(Z − L₃)┐  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {{C \times A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil} - {L_{2}\mspace{14mu}({bits})}}$ ${{Code}\mspace{14mu}{Block}\mspace{14mu}{size}\text{:}\mspace{14mu}{CBS}} = {A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil\mspace{14mu}({bits})}$ Length of information block to LDPC encoder = (CBS + L₃) (bits) end if

In another non-limiting embodiment, the TBS is determined as follows:

  If C = 1  ${TBS} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil}$ Else  ${TBS} = {{{{lcm}\left( {C,A} \right)} \times \left\lceil \frac{{TBS}_{0} + L_{2}}{{lcm}\left( {C,A} \right)} \right\rceil} - L_{2}}$End if.

Here lcm(C, A) is the least common multiple of A and C. An example valueof A is 8, to ensure that TBS is a multiple of 8. Another example is 1.

Combining the TBS determination above with the CBS determinationprocedure results in the following procedure with TBS₀ as input.

${{{if}\mspace{14mu} A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil} + L_{1}} \leq Z$ Number of code blocks: C = 1  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil\mspace{11mu}({bits})}$ Length of information block to LDPC encoder = (TBS + L₁) (bits) else Number of code blocks: C = ┌(TBS₀ + L₂)/(Z − L₃)┐  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {{{{lcm}\left( {C,A} \right)} \times \left\lceil \frac{{TBS}_{0} + L_{2}}{{lcm}\left( {C,A} \right)} \right\rceil} - {L_{2}\mspace{14mu}({bits})}}$ ${{Code}\mspace{14mu}{Block}\mspace{14mu}{size}\text{:}\mspace{14mu}{CBS}} = {\frac{{TBS} + L_{2}}{C}\mspace{14mu}({bits})}$ Length of information block to LDPC encoder = (CBS + L₃) (bits) end if

Other non-limiting embodiments are obtained by replacing ┌⋅┐ with └⋅┘ insome or all of the expressions above.

FIG. 5 is a flow diagram illustrating an example method in a wirelesstransmitter, according to particular embodiments. In particularembodiments, one or more steps of FIG. 5 may be performed by networknode 120 or wireless device 110 of network 100 described with respect toFIG. 4.

The method begins at step 512, where the wireless transmitter determinesa TBS for a transport block to be communicated between the wirelesstransmitter and a wireless receiver via a physical channel transmission.The TBS determination uses a formula accounting for CRC bits. Forexample, network node 120 may determine a TBS for a transport block tobe communicated from network node 120 to wireless device 110.

In particular embodiments, the CRC bits include at least one oftransport block CRC bits and code segmentation CRC bits. The formula maybe based on an approximate transport block size, TBS₀, a number of codeblocks, C, at least one of a number of CRC bits attached to thetransport block, L₂, and a number of CRC bits added to each of the Ccode blocks, L₃.

In particular embodiments, the formula is based on a comparison of TBS₀plus a number of CRC bits attached to the transport block with athreshold size, Z. When TBS₀ plus a number of CRC bits attached to thetransport block is greater than the threshold size, Z, the formulaincludes dividing TBS₀+L₂ by C, rounding up to the nearest integer, andmultiplying the result by C. Alternatively, when TBS₀ plus a number ofCRC bits attached to the transport block is greater than the thresholdsize, Z, the formula includes dividing TBS₀+L₂ by C*A|, rounding up tothe nearest integer, and multiplying the result by C*A, where A is aconstant.

When TBS₀ plus a number of CRC bits attached to the transport block isless than the threshold size, Z, the formula includes dividing TBS₀+L₂by C, rounding up to the nearest integer, and multiplying the result byC, wherein C=1.

In particular embodiments, the formula includes determining C based ondividing TBS₀ plus L₂ by Z minus L₃, and rounding up to the nearestinteger. The formula may include determining the TBS by subtracting L₂.A may be one of 1 and 8. L₂ may be one of 0, 8, 16, and 24. L₃ may beone of 0, 8, 16, and 24. Z may be one of 3840 and 8448.

In particular embodiments, the formula includes determining TBS₀ basedon available transmission resources by determining the approximatetransport block size based on a function of one or more of a number ofphysical resource blocks, a number of resource elements per physicalresource block, a number of layers, a modulation order, and a code rate.In some embodiments, the formula includes determining TBS₀ based onavailable transmission resources by determining the approximatetransport block size based on a number of symbols available fortransmission and a lookup table. In particular embodiments, the formulamay include any of the formulas described above.

At step 514, the wireless transmitter may segment the transport block ofsize TBS into C equally sized code blocks. For example if theapproximate transport block size plus a number of CRC bits is greaterthan a threshold, then network node 120 may segment the transport blockinto C equally sized code blocks according to any of the formulasdescribed above.

At step 516, the wireless transmitter transmits the transport blockaccording to the determined TBS. For example, network node 120 maytransmit the transport block to wireless device 110 by transmitting theC equally sized code blocks.

Modifications, additions, or omissions may be made to method 500 of FIG.5. Additionally, one or more steps in the method of FIG. 5 may beperformed in parallel or in any suitable order. The steps may berepeated over time as necessary.

FIG. 6 is a flow diagram illustrating an example method in a wirelessreceiver, according to particular embodiments. In particularembodiments, one or more steps of FIG. 6 may be performed by networknode 120 or wireless device 110 of network 100 described with respect toFIG. 4.

The method begins at step 612, where the wireless receiver receives awireless signal via a physical channel transmission from a wirelesstransmitter. The wireless signal corresponds to a transport block. Forexample, wireless device 110 may receive a wireless signal from networknode 120 corresponding to the transport block transmitted in method 500.

At step 614, the wireless receiver determines a TBS using a formulaaccounting for CRC bits. For example, network node 120 may determine aTBS for the received transport block according to any of the formulasdescribed above.

In particular embodiments, the CRC bits include at least one oftransport block CRC bits and code segmentation CRC bits. The formula maybe based on an approximate transport block size, TBS₀, a number of codeblocks, C, at least one of a number of CRC bits attached to thetransport block, L₂, and a number of CRC bits added to each of the Ccode blocks, L₃.

In particular embodiments, the formula is based on a comparison of TBS₀plus a number of CRC bits attached to the transport block with athreshold size, Z. When TBS₀ plus a number of CRC bits attached to thetransport block is greater than the threshold size, Z, the formulaincludes dividing TBS₀+L₂ by C, rounding up to the nearest integer, andmultiplying the result by C. Alternatively, when TBS₀ plus a number ofCRC bits attached to the transport block is greater than the thresholdsize, Z, the formula includes dividing TBS0+L₂ by C*A|, rounding up tothe nearest integer, and multiplying the result by C*A, where A is aconstant.

When TBS₀ plus a number of CRC bits attached to the transport block isless than the threshold size, Z, the formula includes calculatingA*ceil(TBS0/A) for a constant A, wherein, optionally, A=8.

In particular embodiments, the formula includes determining C based ondividing TBS₀ plus L₂ by Z minus L₃, and rounding up to the nearestinteger. The formula may include determining the TBS by subtracting L₂.The formula may include determining the TBS by multiplying C by aconstant, A, to ensure that the TBS is a multiple of A. A may be one of1 and 8. L₂ may be one of 0, 8, 16, and 24. L₃ may be one of 0, 8, 16,and 24. Z may be one of 3840 and 8448.

In particular embodiments, the formula includes determining TBS₀ basedon available transmission resources by determining the approximatetransport block size based on a function of one or more of a number ofphysical resource blocks, a number of resource elements per physicalresource block, a number of layers, a modulation order, and a code rate.In some embodiments, the formula includes determining TBS₀ based onavailable transmission resources by determining the approximatetransport block size based on a number of symbols available fortransmission and a lookup table.

At step 616, the wireless receiver may segment the transport block ofsize TBS into C equally sized code blocks. For example if theapproximate transport block size plus a number of CRC bits is greaterthan a threshold, then network node 120 may segment the transport blockinto C equally sized code blocks according to any of the formulasdescribed above.

At step 618, the wireless receiver decodes the wireless signal to obtainthe transport block. For example, wireless device 110 may decode thewireless signal by decoding the C equally sized code blocks andcombining the decoded code blocks into the transport block.

Modifications, additions, or omissions may be made to method 600 of FIG.6. Additionally, one or more steps in the method of FIG. 6 may beperformed in parallel or in any suitable order. The steps may berepeated over time as necessary.

FIG. 7A is a block diagram illustrating an example embodiment of awireless device. The wireless device is an example of the wirelessdevices 110 illustrated in FIG. 4. In particular embodiments, thewireless device is capable of segmenting a transport block into equallysized code blocks according to any of the embodiments described above.

Particular examples of a wireless device include a mobile phone, a smartphone, a PDA (Personal Digital Assistant), a portable computer (e.g.,laptop, tablet), a sensor, a modem, a machine type (MTC) device/machineto machine (M2M) device, laptop embedded equipment (LEE), laptop mountedequipment (LME), USB dongles, a device-to-device capable device, avehicle-to-vehicle device, or any other device that can provide wirelesscommunication. The wireless device includes transceiver 1310, processingcircuitry 1320, memory 1330, and power source 1340. In some embodiments,transceiver 1310 facilitates transmitting wireless signals to andreceiving wireless signals from wireless network node 120 (e.g., via anantenna), processing circuitry 1320 executes instructions to providesome or all of the functionality described herein as provided by thewireless device, and memory 1330 stores the instructions executed byprocessing circuitry 1320. Power source 1340 supplies electrical powerto one or more of the components of wireless device 110, such astransceiver 1310, processing circuitry 1320, and/or memory 1330.

Processing circuitry 1320 includes any suitable combination of hardwareand software implemented in one or more integrated circuits or modulesto execute instructions and manipulate data to perform some or all ofthe described functions of the wireless device. In some embodiments,processing circuitry 1320 may include, for example, one or morecomputers, one more programmable logic devices, one or more centralprocessing units (CPUs), one or more microprocessors, one or moreapplications, and/or other logic, and/or any suitable combination of thepreceding. Processing circuitry 1320 may include analog and/or digitalcircuitry configured to perform some or all of the described functionsof wireless device 110. For example, processing circuitry 1320 mayinclude resistors, capacitors, inductors, transistors, diodes, and/orany other suitable circuit components.

Memory 1330 is generally operable to store computer executable code anddata. Examples of memory 1330 include computer memory (e.g., RandomAccess Memory (RAM) or Read Only Memory (ROM)), mass storage media(e.g., a hard disk), removable storage media (e.g., a Compact Disk (CD)or a Digital Video Disk (DVD)), and/or or any other volatile ornon-volatile, non-transitory computer-readable and/orcomputer-executable memory devices that store information.

Power source 1340 is generally operable to supply electrical power tothe components of wireless device 110. Power source 1340 may include anysuitable type of battery, such as lithium-ion, lithium-air, lithiumpolymer, nickel cadmium, nickel metal hydride, or any other suitabletype of battery for supplying power to a wireless device.

Other embodiments of the wireless device may include additionalcomponents (beyond those shown in FIG. 7A) responsible for providingcertain aspects of the wireless device's functionality, including any ofthe functionality described above and/or any additional functionality(including any functionality necessary to support the solution describedabove).

FIG. 7B is a block diagram illustrating example components of a wirelessdevice 110. The components may include receiving module 1350,transmitting module 1352, and determining module 1354.

Receiving module 1350 may perform the receiving functions of wirelessdevice 110. For example, receiving module 1350 may receive a transportblock segmented into equally sized code blocks. Receiving module 1350may perform the receiving functions according to any of the examples andembodiments described above. In certain embodiments, receiving module1350 may include or be included in processing circuitry 1320. Inparticular embodiments, receiving module 1350 may communicate withtransmitting module 1352 and determining module 1354.

Transmitting module 1352 may perform the transmitting functions ofwireless device 110. For example, transmitting module 1352 may transmita transport block segmented into equally sized code blocks according toany of the embodiments described above. In certain embodiments,transmitting module 1352 may include or be included in processingcircuitry 1320. In particular embodiments, transmitting module 1352 maycommunicate with receiving module 1350 and determining module 1354.

Determining module 1354 may perform the determining functions ofwireless device 110. For example, determining module 1354 may determineequally sized code blocks for a transport block according to any of theembodiments described above. In certain embodiments, determining module1354 may include or be included in processing circuitry 1320. Inparticular embodiments, determining module 1354 may communicate withreceiving module 1350 and transmitting module 1352.

FIG. 8A is a block diagram illustrating an example embodiment of anetwork node. The network node is an example of the network node 120illustrated in FIG. 4. In particular embodiments, the network node iscapable of segmenting a transport block into equally sized code blocksaccording to any of the embodiments described above.

Network node 120 can be an eNodeB, a nodeB, a base station, a wirelessaccess point (e.g., a Wi-Fi access point), a low power node, a basetransceiver station (BTS), a transmission point or node, a remote RFunit (RRU), a remote radio head (RRH), or other radio access node. Thenetwork node includes at least one transceiver 1410, at least oneprocessing circuitry 1420, at least one memory 1430, and at least onenetwork interface 1440. Transceiver 1410 facilitates transmittingwireless signals to and receiving wireless signals from a wirelessdevice, such as wireless devices 110 (e.g., via an antenna); processingcircuitry 1420 executes instructions to provide some or all of thefunctionality described above as being provided by a network node 120;memory 1430 stores the instructions executed by processing circuitry1420; and network interface 1440 communicates signals to backend networkcomponents, such as a gateway, switch, router, Internet, Public SwitchedTelephone Network (PSTN), controller, and/or other network nodes 120.Processing circuitry 1420 and memory 1430 can be of the same types asdescribed with respect to processing circuitry 1320 and memory 1330 ofFIG. 7A above.

In some embodiments, network interface 1440 is communicatively coupledto processing circuitry 1420 and refers to any suitable device operableto receive input for network node 120, send output from network node120, perform suitable processing of the input or output or both,communicate to other devices, or any combination of the preceding.Network interface 1440 includes appropriate hardware (e.g., port, modem,network interface card, etc.) and software, including protocolconversion and data processing capabilities, to communicate through anetwork.

FIG. 8B is a block diagram illustrating example components of a networknode 120. The components may include receiving module 1450, transmittingmodule 1452, and determining module 1454.

Receiving module 1450 may perform the receiving functions of networknode 120. For example, receiving module 1450 may receive a transportblock segmented into equally sized code blocks according to any of theembodiments described above. In certain embodiments, receiving module1450 may include or be included in processing circuitry 1420. Inparticular embodiments, receiving module 1450 may communicate withtransmitting module 1452 and determining module 1454.

Transmitting module 1452 may perform the transmitting functions ofnetwork node 120. For example, transmitting module 1452 may transmit atransport block segmented into equally sized code blocks according toany of the embodiments described above. In certain embodiments,transmitting module 1452 may include or be included in processingcircuitry 1420. In particular embodiments, transmitting module 1452 maycommunicate with receiving module 1450 and determining module 1454.

Determining module 1454 may perform the determining functions of networknode 120. For example, determining module 1454 may determine equallysized code blocks for a transport block according to any of theembodiments described above. In certain embodiments, determining module1454 may include or be included in processing circuitry 1420. Inparticular embodiments, determining module 1454 may communicate withreceiving module 1450 and transmitting module 1452.

Modifications, additions, or omissions may be made to the systems andapparatuses disclosed herein without departing from the scope of theinvention. The components of the systems and apparatuses may beintegrated or separated. Moreover, the operations of the systems andapparatuses may be performed by more, fewer, or other components.Additionally, operations of the systems and apparatuses may be performedusing any suitable logic comprising software, hardware, and/or otherlogic. As used in this document, “each” refers to each member of a setor each member of a subset of a set.

A first node and a second node are sometimes described as two nodes. Anexample of a first node could be a network node, which could be a moregeneral term and can correspond to any type of radio network node or anynetwork node, which communicates with a UE and/or with another networknode. Examples of network nodes are NodeB, base station (BS),multi-standard radio (MSR) radio node such as MSR BS, eNodeB, gNodeB.MeNB, SeNB, network controller, radio network controller (RNC), basestation controller (BSC), relay, donor node controlling relay, basetransceiver station (BTS), access point (AP), transmission points,transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS),core network node (e.g. MSC, MME, etc.), O&M, OSS, SON, positioning node(e.g. E-SMLC), MDT etc.

Another example of a node could be user equipment, this is anon-limiting term user equipment (UE) and it refers to any type ofwireless device communicating with a network node and/or with another UEin a cellular or mobile communication system. Examples of UE are targetdevice, device to device (D2D) UE, machine type UE or UE capable ofmachine to machine (M2M) communication, PDA, iPad, Tablet, mobileterminals, smart phone, laptop embedded equipped (LEE), laptop mountedequipment (LME), USB dongles etc.

In some embodiments generic terminology, “radio network node” or simply“network node (NW node)”, is used. It can be any kind of network nodewhich may comprise of base station, radio base station, base transceiverstation, base station controller, network controller, evolved Node B(eNB), Node B, relay node, access point, radio access point, RemoteRadio Unit (RRU) Remote Radio Head (RRH) etc.

In this invention, any of the above mentioned nodes could become “thefirst node” and/or “the second node”.

The term radio access technology, or RAT, may refer to any RAT e.g.UTRA, E-UTRA, narrow band internet of things (NB-IoT), WiFi, Bluetooth,next generation RAT (NR), 4G, 5G, etc. Any of the first and the secondnodes may be capable of supporting a single or multiple RATs.

The following list provides non-limiting examples of how certain aspectsof the proposed solutions could be implemented. The examples are merelyintended to illustrate how certain aspects of the proposed solutionscould be implemented, however, the proposed solutions could also beimplemented in other suitable manners. Examples include:

1. A method for use in a wireless transmitter of segmenting a transportblock so that the resulting code blocks are all the same size, themethod comprising:

adjusting a transport block according to the following formula:

  If C = 1  ${TBS} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil}$ Else  ${TBS} = {{C \times A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil} - L_{2}}$End if.

and;

determining a code block size according to the following formula:

${{{if}\mspace{14mu} A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil} + L_{1}} \leq Z$ Number of code blocks: C = 1  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil\mspace{11mu}({bits})}$ Length of information block to LDPC encoder = (TBS + L₁) (bits) else Number of code blocks: C = ┌(TBS₀ + L₂)/(Z − L₃)┐  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {{C \times A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil} - {L_{2}\mspace{14mu}({bits})}}$ ${{Code}\mspace{14mu}{Block}\mspace{14mu}{size}\text{:}\mspace{14mu}{CBS}} = {A \times \left\lceil \frac{{TBS}_{0} + L_{2}}{C \times A} \right\rceil\mspace{14mu}({bits})}$ Length of information block to LDPC encoder = (CBS + L₃) (bits) end if

2. A method for use in a wireless transmitter of segmenting a transportblock so that the resulting code blocks are all the same size, themethod comprising:

adjusting a transport block according to the following formula:

  If C = 1  ${TBS} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil}$ Else  ${TBS} = {{{{lcm}\left( {C,A} \right)} \times \left\lceil \frac{{TBS}_{0} + L_{2}}{{lcm}\left( {C,A} \right)} \right\rceil} - L_{2}}$End if.

and;

determining a code block size according to the following formula:

${{{if}\mspace{14mu} A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil} + L_{1}} \leq Z$ Number of code blocks: C = 1  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {A \times \left\lceil \frac{{TBS}_{0}}{A} \right\rceil\mspace{11mu}({bits})}$ Length of information block to LDPC encoder = (TBS + L₁) (bits) else Number of code blocks: C = ┌(TBS₀ + L₂)/(Z − L₃)┐  ${{Transport}\mspace{14mu}{block}\mspace{14mu}{size}\mspace{11mu}({TBS})\text{:}\mspace{14mu}{TBS}} = {{{{lcm}\left( {C,A} \right)} \times \left\lceil \frac{{TBS}_{0} + L_{2}}{{lcm}\left( {C,A} \right)} \right\rceil} - {L_{2}\mspace{14mu}({bits})}}$ ${{Code}\mspace{14mu}{Block}\mspace{14mu}{size}\text{:}\mspace{14mu}{CBS}} = {\frac{{TBS} + L_{2}}{C}\mspace{14mu}({bits})}$ Length of information block to LDPC encoder = (CBS + L₃) (bits) end if

3. The method of any of embodiments 1-2, wherein A=8.

4. The method of any of embodiments 1-2, wherein A=1.

5. A network node comprising processing circuitry operable to performthe method of any of embodiments 1-4.

6. A wireless device comprising processing circuitry operable to performthe method of any of embodiments 1-4.

7. A computer program comprising computer-readable instructions forcausing at least one programmable processor to perform the method of anyof embodiments 1-4.

Modifications, additions, or omissions may be made to the methodsdisclosed herein without departing from the scope of the invention. Themethods may include more, fewer, or other steps. Additionally, steps maybe performed in any suitable order.

Although this disclosure has been described in terms of certainembodiments, alterations and permutations of the embodiments will beapparent to those skilled in the art. Accordingly, the above descriptionof the embodiments does not constrain this disclosure. Other changes,substitutions, and alterations are possible without departing from thespirit and scope of this disclosure, as defined by the claims below.

Abbreviations used in the preceding description include:

3GPP Third Generation Partnership Project

BBU Baseband Unit

BTS Base Transceiver Station

CC Component Carrier

CQI Channel Quality Information

CSI Channel State Information

D2D Device to Device

DFT Discrete Fourier Transform

eNB eNodeB

FDD Frequency Division Duplex

gNB Next-generation NodeB

LAA Licensed-Assisted Access

LBT Listen-before-talk

LTE Long Term Evolution

LTE-U LTE in Unlicensed Spectrum

M2M Machine to Machine

MIMO Multi-Input Multi-Output

MTC Machine Type Communication

NR New Radio

OFDM Orthogonal Frequency Division Multiplexing

RAN Radio Access Network

RAT Radio Access Technology

RBS Radio Base Station

RNC Radio Network Controller

RRC Radio Resource Control

RRH Remote Radio Head

RRU Remote Radio Unit

SCell Secondary Cell

TB Transport Block

TBS Transport Block Size

sTTI Short TTI

TDD Time Division Duplex

TTI Transmission Time Interval

UE User Equipment

UL Uplink

UTRAN Universal Terrestrial Radio Access Network

WAN Wireless Access Network

The invention claimed is:
 1. A wireless transmitter comprisingprocessing circuitry operable to: determine a transport block size, TBS,for a transport block to be communicated between the wirelesstransmitter and a wireless receiver via a physical channel transmission,the TBS determination using a formula, and wherein the formula accountsfor cyclic redundancy check, CRC, bits attached to the transport block;and transmit the transport block according to the determined TBS.
 2. Thewireless transmitter of claim 1, wherein the formula is based on anapproximate transport block size, TBS0, a number of code blocks, C, atleast one of a number of CRC bits attached to the transport block, L2,and a number of CRC bits added to each of the C code blocks, L3.
 3. Thewireless transmitter of claim 2, wherein the formula is based on acomparison of TBS0 plus a number of CRC bits attached to the transportblock with a threshold size, Z.
 4. The wireless transmitter of claim 3,wherein when TBS0 plus a number of CRC bits attached to the transportblock is greater than the threshold size, Z, the formula includesdividing TBS0+L2 by C|, rounding up to the nearest integer, andmultiplying the result by C.
 5. The wireless transmitter of claim 3,wherein when TBS0 plus a number of CRC bits attached to the transportblock is greater than the threshold size, Z, the formula includesdividing TBS0+L2 by C*A|, rounding up to the nearest integer, andmultiplying the result by C*A, where A is a constant.
 6. The wirelesstransmitter of claim 3, wherein when TBS0 plus a number of CRC bitsattached to the transport block is less than the threshold size, Z, theformula includes calculating A*ceil(TBS0/A) for a constant A, wherein Ais one of 1 and
 8. 7. The wireless transmitter of claim 3, wherein theformula includes determining C based on dividing TBS0 plus L2 by Z minusL3, and rounding up to the nearest integer.
 8. A method for use in awireless transmitter, the method comprising: determining a transportblock size, TBS, for a transport block to be communicated between thewireless transmitter and a wireless receiver via a physical channeltransmission, the TBS determination using a formula, and wherein theformula accounts for cyclic redundancy check, CRC, bits attached to thetransport block; and transmitting the transport block according to thedetermined TBS.
 9. The method of claim 8, wherein the formula is basedon an approximate transport block size, TBS0, a number of code blocks,C, at least one of a number of CRC bits attached to the transport block,L2, and a number of CRC bits added to each of the C code blocks, L3. 10.The method of claim 9, wherein the formula is based on a comparison ofTBS0 plus a number of CRC bits attached to the transport block with athreshold size, Z.
 11. The method of claim 10, wherein when TBS0 plus anumber of CRC bits attached to the transport block is greater than thethreshold size, Z, the formula includes dividing TBS0+L2 by C, roundingup to the nearest integer, and multiplying the result by C.
 12. Themethod of claim 9, wherein when TBS0 plus a number of CRC bits attachedto the transport block is greater than the threshold size, Z, theformula includes dividing TBS0+L2 by C*A|, rounding up to the nearestinteger, and multiplying the result by C*A, where A is a constant. 13.The method of claim 10, wherein when TBS0 plus a number of CRC bitsattached to the transport block is less than the threshold size, Z, theformula includes calculating A*ceil(TBS0/A) for a constant A, wherein Ais one of 1 and
 8. 14. The method of claim 10, wherein the formulaincludes determining C based on dividing TBS0 plus L2 by Z minus L3, androunding up to the nearest integer.
 15. A wireless receiver comprisingprocessing circuitry operable to: receive a wireless signal via aphysical channel transmission from a wireless transmitter, the wirelesssignal corresponding to a transport block; determine a transport blocksize, TBS, using a formula, and wherein the formula accounts for cyclicredundancy check, CRC, bits attached to the transport block; and decodethe wireless signal to obtain the transport block.
 16. The wirelessreceiver of claim 15, wherein the formula is based on an approximatetransport block size, TBS0, a number of code blocks, C, at least one ofa number of CRC bits attached to the transport block, L2, and a numberof CRC bits added to each of the C code blocks, L3.
 17. The wirelessreceiver of claim 16, wherein the formula is based on a comparison ofTBS0 plus a number of CRC bits attached to the transport block with athreshold size, Z.
 18. The wireless receiver of claim 17, wherein whenTBS0 plus a number of CRC bits attached to the transport block isgreater than the threshold size, Z, the formula includes dividingTBS0+L2 by C, rounding up to the nearest integer, and multiplying theresult by C.
 19. The wireless receiver of claim 17, wherein when TBS0plus a number of CRC bits attached to the transport block is greaterthan the threshold size, Z, the formula includes dividing TBS0+L2 byC*A|, rounding up to the nearest integer, and multiplying the result byC*A, where A is a constant.
 20. The wireless receiver of claim 17,wherein the formula includes determining C based on dividing TBS0 plusL2 by Z minus L3, and rounding up to the nearest integer.
 21. Thewireless receiver of claim 17, wherein when TBS0 plus a number of CRCbits attached to the transport block is less than the threshold size, Z,the formula includes calculating A*ceil(TBS0/A) for a constant A,wherein A is one of 1 and
 8. 22. A method for use in a wirelessreceiver, the method comprising: receiving a wireless signal via aphysical channel transmission from a wireless transmitter, the wirelesssignal corresponding to a transport block; determining a transport blocksize, TBS, using a formula, and wherein the formula accounts for cyclicredundancy check, CRC, bits attached to the transport block; anddecoding the wireless signal to obtain the transport block.
 23. Themethod of claim 22, wherein the formula is based on an approximatetransport block size, TBS0, a number of code blocks, C, at least one ofa number of CRC bits attached to the transport block, L2, and a numberof CRC bits added to each of the C code blocks, L3.
 24. The method ofclaim 23, wherein the formula is based on a comparison of TBS0 plus anumber of CRC bits attached to the transport block with a thresholdsize, Z.
 25. The method of claim 24, wherein when TBS0 plus a number ofCRC bits attached to the transport block is greater than the thresholdsize, Z, the formula includes dividing TBS0+L2 by C, rounding up to thenearest integer, and multiplying the result by C.
 26. The method ofclaim 24, wherein when TBS0 plus a number of CRC bits attached to thetransport block is greater than the threshold size, Z, the formulaincludes dividing TBS0+L2 by C*A|, rounding up to the nearest integer,and multiplying the result by C*A, where A is a constant.
 27. The methodof claim 24, wherein the formula includes determining C based ondividing TBS0 plus L2 by Z minus L3, and rounding up to the nearestinteger.
 28. The method of claim 24, wherein when TBS0 plus a number ofCRC bits attached to the transport block is less than the thresholdsize, Z, the formula includes calculating A*ceil(TBS0/A) for a constantA, wherein A is one of 1 and 8.